[pascal]狐狸捉兔子

来源:百度知道 编辑:UC知道 时间:2024/06/04 14:35:12
狐狸捉兔子:围绕着山顶有10个洞,狐狸要吃兔子,兔子说:“可以,但必须找到我,我就藏身于这十个洞中,你从10号洞出发,先到1号洞找,第二次隔1个洞找,第三次隔2个洞找,以后如此类推,次数不限。”但狐狸从早到晚进进出出了1000次,仍没有找到兔子。问兔子究竟藏在哪个洞里?

同志们哪,我求的是程序,不是思路!!!!!!

不就是程序嘛~简单!
program zhidao;
var i,j:integer;
a:array[0..9] of integer;
begin
for i:= 0 to 9 do a[i]:=1;
j:=0;
for i:= 1 to 1000 do begin
j:=(j+i) mod 10 ;
a[j]:=0;
end;
for i:= 1 to 9 do if a[i]=1 then write(i:3);
if a[0]=1 then write(' 10');
readln;
end.
程序大意:首先把十个洞都标记为1。当狐狸进过a[j]洞时,a[j]洞标记为0,而没进过的标记为1(a[0]为10洞);而这里用‘j:=(j+i) mod 10 ’来确定每次狐狸进的哪个洞,最后输出没进过的洞即可